package ziface

import "net"

// IConnection 接口 定义连接有关的功能
type IConnection interface {
	// 开启连接
	Start()
	// 关闭连接
	Stop()
	// 获取原始的sock TCP connection
	GetTCPConnection() *net.TCPConn
	// 获取当前tcp连接的ID
	GetConnectionID() uint32
	// 获取远程客户端地址
	RemoteAddr() net.Addr

	// 获取连接发送的消息
	GetConnectionMsg() (IMessage, error)

	// 发送消息数据 无缓冲
	SendMsg(msg IMessage) error

	// 发送数据 有缓冲
	SendBuffMsg(msg IMessage) error
}
